package dfbz.com.service;

import dfbz.com.model.ConJoin;
import dfbz.com.model.Conference;

import java.util.List;
import java.util.Map;

public interface MeetingService {


    /**
     * 根据条件查找会议列表
     *
     * @param current 当前页码
     * @param dep 部门名称
     * @param conTitle 会议标题
     * @return 会议列表
     */
    List showMeetingList(String current, String dep, String conTitle);


    /**
     * 找到查询到的会议总数
     *
     * @param dep 部门名称
     * @param conTitle 会议标题
     * @return 会议总数
     */

    long findTotalCount(String dep, String conTitle);


    /**
     * 根据会议title 找到这个会议对象
     *
     * @param title 会议标题
     * @return 会议对象
     */
    Conference findMeetingDetail(String title);


    /**
     * 需要参加会议的成员
     *
     * @param deptId 部门id
     * @return 成员列表
     */
    List findDeptMember(Integer deptId);



    /**
     * 某个部门的成员总数
     *
     * @param deptId 部门id
     * @return 总数
     */

    Long findTotalMemberCount(Integer deptId);


    /**
     * 添加新的会议
     *
     * @param conference 会议
     */
    void addMeeting(Conference conference);


    /**
     * 根据部门名字找到部门的id
     *
     * @param dep 部门名字
     * @return 部门id
     */

    Integer findDepId(String dep);


    /**
     * 找到总会议数
     *
     * @return 会议总数
     */
    Long findTotalMeetingCount();

    /**
     * 找到会议指定部门的所有成员id
     *
     * @param id 部门id
     * @return 成员id列表
     */

    List findAllMemberIds(Integer id);

    /**
     * 找到con_join表的总数
     *
     * @return 总数
     */
    Integer findTotalConJoin();

    /**
     * 添加con_join表
     *
     * @param conJoin con_join对象
     */

    void addConJoin(ConJoin conJoin);

    /**
     * 找到会议未出席的人数
     *
     * @param meetingId 会议id
     * @return 人数
     */
    Integer findAbsentCount(String meetingId);

    /**
     * 改变con_join的status
     *
     * @param cId 会议id
     * @param userId 用户id
     */
    void changeConJoinStatus(String cId, String userId);
}
